iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
1
自我挑戰組

一日一CPE系列 第 17

[Day17]686: Goldbach’s Conjecture (II)

  • 分享至 

  • xImage
  •  

考題日期:2018/05/29
題號:686
星等:2
語言:C++


題目:
https://ithelp.ithome.com.tw/upload/images/20191003/20120937asMlILcTMu.png


題意:
Goldbach猜想:對任意一個大於或等於4的偶數n,存在最少一對質數p1與p2使得n=p1+p2。
每次輸入一個數字,找出共有幾對符合Goldbach猜想的質數對。


程式:

#include <iostream>

using namespace std;
bool isPrime(int n)
{
    for(int i = 2 ; i <= n/2 ; i++)
    {
        if(n%i==0)
            return false;
    }
    return true;
}
int main()
{
    int prime[15000], k = 1,num;
    prime[0] = 2;
    for(int i = 3 ; i < 32678 ; i++)
    {
        if(isPrime(i))
            prime[k++] = i;
    }
    while(cin>>num && num!=0)
    {
        int answer = 0;
        for(int i = 0 ; prime[i] <= num/2 ; i++)
        {
            if(isPrime(num-prime[i]))
                answer++;

        }
        cout<<answer<<endl;
    }
    return 0;
}


測資:
https://ithelp.ithome.com.tw/upload/images/20191003/20120937a6thBiJ56Q.png


上一篇
[Day16]11332: Summing Digits
下一篇
[Day18]696: How Many Knights
系列文
一日一CPE30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言